There exist a variety of electronic communication systems which enable users to communicate in real, or in substantially real, time. Perhaps the most common such communication system is the conventional telephone system, which enables two users to converse in real-time over a voice network. Through the use of telephone conferencing systems, groups of two or more users may converse in a similar manner.
More recent communication systems include instant messaging (IM), push-to-talk (PTT) and voice over Internet protocol (VoIP) systems.
Instant messaging systems enable text messages to be exchanged between members of a group in substantially real-time. In this way, members of the group may participate in text-based conversations. Push-to-talk systems enable voice messages to be exchanged between members of a group in substantially real-time. Push-to-talk uses a voice over Internet protocol (VoIP) based system designed primarily for use with restricted bandwidth data networks, such as those typically accessible from mobile communications terminals such as mobile telephones. For this reason, push-to-talk is often referred to as push-to-talk over cellular (PoC). Due to the bandwidth restrictions of many mobile data networks, push-to-talk provides half-duplex communications, with the user experience being similar to that provided by conventional citizens band (CB) radio and walkie-talkies.
Many modern communication devices, especially modern mobile communication devices such as mobile telephones, enable the user to communicate using more than one communication system. For example, many modern mobile communication devices support conventional mobile voice networks as well as providing instant messaging and push-to-talk functionality using mobile data networks.
During a communication, such as a conversation, using one type of communication system, such as push-to-talk, it may be desired, for example by one or more participants of the communication, for the communication to take place using a different type of communication system. This may occur for a variety of reasons.
For example, during a push-to-talk conversation, there may come a point where the half-duplex nature of push-to-talk becomes an inhibitor to the communication. In this case, it may be desirable, for example, to establish a conventional voice network based telephone conference to enable the conversation to continue in a full-duplex manner.
Similarly, during a text-message based instant messaging communication, or conversation, it may be decided, by one or more of the participants thereof, to establish a conventional voice network based telephone conference to enable the conversation to become a spoken, rather than a typed, conversation.
Currently, however, there is no easy way in which a communication using one type of communication system may be switched to, transferred to, or continued on a different type of communication system.
One reason for this is that on a typical communication terminal the software applications which typically control each of the different communication systems are typically independent from one another and are generally provided by different suppliers. Furthermore, since there are currently no defined standards which enable each of the various applications to interact by way of a standard application programmer interface (API), or the like, there is generally little or no interaction possible between the various communication applications.
For example, the only way of establishing a conventional voice network-based telephone conference whilst participating in a push-to-talk communication is to manually establish a conventional telephone conference and to continue the communication thereon. Furthermore, since current mobile communication devices are not able to simultaneously handle voice and data communications, each user also has to manually terminate the push-to-talk communication prior to establishing a telephone call with the conferencing service.
This is particularly inconvenient to the user.
One way in which some of the above problems may be overcome, however, is to ensure that each of the different communication software applications do interact in an appropriate manner. However, such an approach requires a standardisation of the interfaces between each of the different software applications, and requires that developers of such applications adhere to any such standards. Even if such standard interfaces were agreed upon, however, there is no guarantee that all such software applications would conform to the standards. Such a situation is particularly inconvenient to the user, who simply desires a simple way to change the communication system used for a current communication to a more appropriate communication system.